﻿using Ewell.Interface.Common.Model.Constant;
using Ewell.Interface.Common.Model.GateWay.Dto.Dict;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ewell.Interface.Common.Model.GateWay.GateWayUriInfo
{
    public class ExtAppDictDubboServe : GateWayUri
    {
        public override string url => "dubbo/cc.ewell.his.dict.service.inter.dubbo.external.ExtAppDictDubboServe";
        public GateWayMethod queryBasicDataMappingByExampleV2 => new QueryBasicDataMappingByExampleV2(url);
        public GateWayMethod queryExtAppBasicDataListByExample => new QueryExtAppBasicDataListByExample(url);
    }

    public class QueryBasicDataMappingByExampleV2 : GateWayMethod
    {
        public QueryBasicDataMappingByExampleV2(string baseUrl) : base(baseUrl)
        {
        }

        public override string methodName => "queryBasicDataMappingByExampleV2";

        public override string paramClass => "cc.ewell.his.dict.upon.hc.QueryBasicDataMappingByExampleV2Req";

        public override Type requestParamType => typeof(QueryBasicDataMappingByExampleV2Req);

        public override Type responseParamType => typeof(List<QueryBasicDataMappingByExampleV2Resp>);

        public override DubboParamType paramType => DubboParamType.defaultParam;
    }

    public class QueryExtAppBasicDataListByExample : GateWayMethod
    {
        public QueryExtAppBasicDataListByExample(string baseUrl) : base(baseUrl)
        {
        }

        public override string methodName => "queryExtAppBasicDataListByExample";

        public override string paramClass => "cc.ewell.his.dict.upon.hc.QueryExtAppBasicDataListByExampleReq";

        public override Type requestParamType => typeof(QueryExtAppBasicDataListByExampleReq);

        public override Type responseParamType => typeof(List<QueryExtAppBasicDataListByExampleResp>);

        public override DubboParamType paramType => DubboParamType.defaultParam;
    }
}
